package cn.element.io.bio.case3;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * 实现服务端可以同时接收多个客户端的Socket
 * 服务端收到一个客户端Socket请求对象之后都交给一个独立的线程来处理
 */
public class Server {

    public static void main(String[] args) {
        try {
            ServerSocket server = new ServerSocket(8848);

            // 定义一个死循环,不断地接收客户端的Socket请求
            while (true) {
                Socket socket = server.accept();

                // 创建一个独立的线程来处理与这个客户端的Socket的通信请求
                new ServerThread(socket).start();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
